<!-- 我的列表 -->

<template>
  <div class="FaceLib-MyList">
    <el-empty v-if="!list.length" description="暂无人脸库" />

    <EasyCard v-for="item in list" :key="item.id">
      <template #header>
        <MyTitle :obj="item" />
      </template>

      <div>
        人员数：<span>{{ item.personCount }}</span>
      </div>
      <div>
        同步状态：<span>{{ item.syncCount }}</span>
        <BtnText title="查看详情" @click="openStatus(item)" />
      </div>

      <template #footer>
        <BtnPrimary title="人员信息" plain @click="openUser(item)" />
      </template>
    </EasyCard>

    <EasyModal title="同步状态" v-model="easyVisible" bgClose noConfirm mini>
      <StatusDetail :obj="row" />
    </EasyModal>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyList',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(require.context('./', true, /vue$/)),

  /**
   * 状态数据 (函数返回对象)
   */
  data() {
    return {
      easyVisible: false, // 简易弹窗可见
      row: {}, // 行数据
    }
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 打开状态弹窗
     */
    openStatus(row) {
      this.row = row
      this.easyVisible = true
    },

    /**
     * 打开用户页面
     */
    openUser(item) {
      CORE.MAP.ROUTE_TITLE = item.name
      this.$router.push(`lib/${item.id}`)
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
